//--------------------------------------------------------------------------
// $Id: AuthenticateRequest.java 12 2006-08-28 05:05:13Z zendragon $
//--------------------------------------------------------------------------
// Copyright 2006 Social Brain Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//--------------------------------------------------------------------------

package org.socialbrain.openid;

/**
 * @author <a href="http://erning.net/">Zhang Erning</a>
 * @version $Id: AuthenticateRequest.java 12 2006-08-28 05:05:13Z zendragon $
 */
public class AuthenticateRequest extends KeyValuePairs
{
    public AuthenticateRequest()
    {
        this(false);
    }

    public AuthenticateRequest(boolean immediate)
    {
        put(Constants.PARAM_MODE, immediate ? Constants.MODE_CHECKID_IMMEDIATE : Constants.MODE_CHECKID_SETUP);
    }

    public AuthenticateRequest(KeyValuePairs pairs)
    {
        super(pairs);
    }

    public String getMode()
    {
        return get(Constants.PARAM_MODE);
    }

    public boolean isImmediate()
    {
        return Constants.MODE_CHECKID_IMMEDIATE.equals(getMode());
    }

    public void setIdentity(String value)
    {
        put(Constants.PARAM_IDENTITY, value);
    }

    public String getIdentity()
    {
        return get(Constants.PARAM_IDENTITY);
    }

    public void setAssocHandle(String value)
    {
        put(Constants.PARAM_ASSOC_HANDLE, value);
    }

    public String getAssocHandle()
    {
        return get(Constants.PARAM_ASSOC_HANDLE);
    }

    public void setReturnTo(String value)
    {
        put(Constants.PARAM_RETURN_TO, value);
    }

    public String getReturnTo()
    {
        return get(Constants.PARAM_RETURN_TO);
    }

    public void setTrustRoot(String value)
    {
        put(Constants.PARAM_TRUST_ROOT, value);
    }

    public String getTrustRoot()
    {
        return get(Constants.PARAM_TRUST_ROOT);
    }
}
